package cxydmmszl.chapter05.t084.middle;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * <li style="color: red;">Prob</li>
 * 翻转字符串
 * <li style="color: green;">Desc</li>
 * 给一个字符类型的数组 chas 和一个整数 size，请把大小为 size 的左半区整体右移到右半区，右半区整体移动到左边。
 * <li style="color: green;">Input</li>
 * 输入两行，第一行一个整数，代表 size，
 * 第二行一个字符串，代表 chas（1≤size≤length(chas)≤10^5）
 * <li style="color: green;">Output</li>
 * 输出一行字符串，代表翻转后的字符串。
 * <li style="color: blue;">Link</li> CD117
 *
 * @author habitplus
 * @since 2021-09-08 21:49
 */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int size = Integer.parseInt(br.readLine());
        String s = br.readLine();
        br.close();

        s = rotateStr(s, size);

        System.out.println(s);
    }

    private static String rotateStr(String s, int size) {
        if (s == null || s.length() == 0 || size < 1 || s.length() <= size) {
            return s;
        }

        char[] chs = s.toCharArray();
        int n = chs.length;

        reverse(chs, 0, n - 1);
        reverse(chs, 0, size - 1);
        reverse(chs, size, n - 1);

        return new String(chs);
    }

    private static void reverse(char[] chs, int l, int r) {
        char t;
        while (l < r) {
            t = chs[l];
            chs[l++] = chs[r];
            chs[r--] = t;
        }
    }
}
